1. Field of the Invention
Generally speaking, the invention concerns industrial automation systems, and in particular procedures for modifying a running object-oriented program, in particular a program for controlling an automation facility as well as run-time systems for executing control programs in a control unit of an automation facility
2. Description of the Related Art
Control systems are being used more and more often, especially to control or regulate large-scale industrial processes or operating sequences, for instance in industrial manufacturing or final assembly. Similarly, they are used to monitor such processes that are operated automatically to the greatest possible extent as well as to illustrate the current process status.
Such automation facilities or automated plants have attained an outstanding importance in industrial manufacturing because of the high degree of productivity that they facilitate.
To avoid productivity outages, it must be possible to modify the control program of an automation facility without the need to stop the automation facility or put it into a certain state.
Otherwise, for example in the case of a packing machine, it would be necessary to remove both the entire packaging material as well as the goods that are to be packed if the relation between the control program and the current content of the variables contained in it are lost as the result of a program modification and hence the information on the current process state is no longer available.
To enable a modified program to be adopted regardless of the respectively current state of the automation facility, certain requirements need to be met. On the one hand, the program changeover has to take place in real time. This means that the set response times or execution intervals of the control program must not be exceeded. In addition, it is vital that the current program state, especially the data, which, for example, contain information on the current process state of the automation facility, be maintained and continue to be used by the modified program.
In the case of SPS control systems, as they are used in industrial automation, a variety of different programming systems are today already capable of implementing program modifications, without having to interrupt the program execution. This feature is frequently referred to as “online programming”. However, these systems use processes that demand a tight coordination between the programming system and run-time system of the control system. In doing so, the programming system manages the information relating to the state of the program prior to the modification, thus deriving from it the necessary measures needed to implement the program modifications.
Present-day programming systems are, however, frequently characterized by constraints in terms of functionality. Thus, for example, the real-time aspect is generally only rarely taken into consideration. Rather it is assumed that the duration of the interruption of the program execution is non-critical. This is actually the case with programming systems that only permit modifications of program commands, but which do not, however, support changes to variables objects or the object structure (instancing). Other systems employ global data objects, where the user addresses the program variables manually. Here, the user is responsible for ensuring that the variables keep their old content after the program modifications have been implemented. The main disadvantage of such simple programming models is that they are not object-oriented and do not allow data encapsulation.
The demands on the programming system used result in it only being possible to use programming tools that have been specially developed for deployment in the field of industrial control engineering.